html,
body,
#app {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
.el-container {
  width: 100%;
  height: 100%;
}
/* 设置 notification、message 层级在 loading 之上 */
.el-message,
.el-notification {
  z-index: 2058 !important;
}

/* el-alert */
.el-alert {
  border: 1px solid;
}

/* 当前页面最大化 css */
.main-maximize {
  .aside-split,
  .el-aside,
  .el-header,
  .el-footer,
  .tabs-box {
    display: none !important;
  }
}

/* custom card */
.card {
  box-sizing: border-box;
  padding: 20px;
  overflow-x: hidden;
  background-color: var(--el-bg-color);
  border-radius: 6px;
  box-shadow: 0 0 12px rgb(0 0 0 / 5%);
}

/* ProTable 不需要 card 样式（在组件内使用 ProTable 会使用到） */
.no-card {
  .card {
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .table-search {
    padding: 18px 0 0 !important;
    margin-bottom: 0 !important;
  }
}

/* content-box (常用内容盒子) */
.content-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;

  .text {
    margin: 20px 0 30px;
    font-size: 23px;
    font-weight: bold;
    color: var(--el-text-color-regular);
  }

  .el-descriptions {
    width: 100%;
    padding: 40px 0 0;

    .el-descriptions__title {
      font-size: 18px;
    }

    .el-descriptions__label {
      width: 200px;
    }
  }
}

/* main-box (树形表格 treeFilter 页面会使用，左右布局 flex) */
.main-box {
  display: flex;
  width: 100%;
  height: 100%;

  .table-box {
    // 这里减去的是 treeFilter 组件宽度
    width: calc(100% - 230px);
  }
}

/* proTable */
.table-box,
.table-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  height: 100%;

  // table-search 表格搜索样式
  .table-search {
    padding: 18px 18px 0;
    margin-bottom: 10px;

    .el-form {
      .el-form-item__content > * {
        width: 100%;
      }

      // 去除时间选择器上下 padding
      .el-range-editor.el-input__wrapper {
        padding: 0 10px;
      }
    }

    .operation {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-bottom: 18px;
    }
  }

  // 表格 header 样式
  .table-header {
    .header-button-lf {
      float: left;
    }

    .header-button-ri {
      float: right;
    }

    .el-button {
      margin-bottom: 15px;
    }
  }

  // el-table 表格样式
  .el-table {
    flex: 1;

    // 修复 safari 浏览器表格错位 https://github.com/HalseySpicy/Geeker-Admin/issues/83
    table {
      width: 100%;
    }

    .el-table__header th {
      height: 45px;
      font-size: 15px;
      font-weight: bold;
      color: var(--el-text-color-primary);
      background: var(--el-fill-color-light);
    }

    .el-table__row {
      height: 45px;
      font-size: 14px;

      .el-table__placeholder {
        display: inline;
      }
    }

    // 设置 el-table 中 header 文字不换行，并省略
    .el-table__header .el-table__cell > .cell {
      white-space: nowrap;
    }

    // 解决表格数据为空时样式不居中问题(仅在element-plus中)
    .el-table__empty-block {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);

      .table-empty {
        line-height: 30px;
      }
    }

    // table 中 image 图片样式
    .table-image {
      width: 50px;
      height: 50px;
      border-radius: 50%;
    }
  }

  // 表格 pagination 样式
  .el-pagination {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
  }
}

/* el-table 组件大小 */
.el-table--small {
  .el-table__header th {
    height: 40px !important;
    font-size: 14px !important;
  }

  .el-table__row {
    height: 40px !important;
    font-size: 13px !important;
  }
}

.el-table--large {
  .el-table__header th {
    height: 50px !important;
    font-size: 16px !important;
  }

  .el-table__row {
    height: 50px !important;
    font-size: 15px !important;
  }
}

/* el-drawer */
.el-drawer {
  .el-drawer__header {
    padding: 16px 20px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--el-border-color-lighter);

    span {
      font-size: 17px;
      line-height: 17px;
      color: var(--el-text-color-primary) !important;
    }
  }

  .el-drawer__footer {
    border-top: 1px solid var(--el-border-color-lighter);
  }

  // select 样式
  .el-select {
    width: 100%;
  }

  // drawer-form 中存在两列 form-item 样式
  .drawer-multiColumn-form {
    display: flex;
    flex-wrap: wrap;

    .el-form-item {
      width: 47%;

      &:nth-child(2n-1) {
        margin-right: 5%;
      }
    }
  }
}

/* el-dialog */
.el-dialog {
  .el-dialog__header {
    padding: 15px 20px;
    margin: 0;
    border-bottom: 1px solid var(--el-border-color-lighter);

    .el-dialog__title {
      font-size: 17px;
    }
  }
}
.el-input {
  height: 40px;
}
.el-form-item__label {
  display: inline-flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex: 0 0 auto;
  font-size: 14px;
  color: #606266;
  height: 32px;
  line-height: 32px;
  padding: 0 12px 0 0;
  box-sizing: border-box;
}
.el-input__wrapper {
  display: inline-flex;
  flex-grow: 1;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  font-size: 14px;
  background-color: #ffffff;
  background-image: none;
  border-radius: 5px;
  transition: var(--el-transition-box-shadow);
  transform: translateZ(0);
  box-shadow: 0 0 0 1px #dcdfe6;
}
.table-box .el-table .el-table__header th,
.table-main .el-table .el-table__header th {
  height: 45px;
  font-size: 15px;
  font-weight: 700;
  color: var(--el-text-color-primary);
  background: var(--el-fill-color-light);
}
.el-pagination {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  height: 32px;
  .el-input {
    height: 32px;
  }
}
.el-pagination.is-background .el-pager li.is-active {
  background-color: #0da7eb;
  color: #ffffff;
}
.el-button--primary {
  background-color: #0da7eb;
  border-color: #0da7eb;
  color: #ffffff;
}
.el-button--primary:hover {
  background-color: #0da7eb;
  color: #ffffff;
  opacity: 0.9;
  border-color: #0da7eb;
}
.el-button--primary:focus {
  background-color: #0da7eb;
  color: #ffffff;
  opacity: 0.9;
  border-color: #0da7eb;
}
.el-message-box__headerbtn .el-message-box__close:hover {
  color: #0da7eb;
}
.el-switch.is-checked .el-switch__core {
  border-color: #0da7eb;
  background-color: #0da7eb;
}
.el-switch__label.is-active {
  color: #0da7eb;
}
// .el-button:hover, .el-button:focus{
//     border-color: #8db9b5;
//     background-color: #c4e4e1;
//     color: #0da7eb;
// }
// .el-table .el-table__cell{
//     padding: 0 8px;
// }
.el-drawer__header .el-icon:hover {
  color: #0da7eb;
}
.el-drawer__title {
  text-align: left;
}
.el-input {
  --el-input-text-color: var(--el-text-color-regular);
  --el-input-border: var(--el-border);
  --el-input-hover-border: #0da7eb;
  --el-input-focus-border: #0da7eb;
  --el-input-transparent-border: 0 0 0 1px transparent inset;
  --el-input-border-color: #0da7eb;
  --el-input-border-radius: var(--el-border-radius-base);
  --el-input-bg-color: var(--el-fill-color-blank);
  --el-input-icon-color: var(--el-text-color-placeholder);
  --el-input-placeholder-color: var(--el-text-color-placeholder);
  --el-input-hover-border-color: #0da7eb;
  --el-input-clear-hover-color: var(--el-text-color-secondary);
  --el-input-focus-border-color: #0da7eb;
}
.el-select {
  --el-select-border-color-hover: #0da7eb;
  --el-select-disabled-border: var(--el-disabled-border-color);
  --el-select-font-size: var(--el-font-size-base);
  --el-select-close-hover-color: var(--el-text-color-secondary);
  --el-select-input-color: var(--el-text-color-placeholder);
  --el-select-multiple-input-color: var(--el-text-color-regular);
  --el-select-input-focus-border-color: #0da7eb;
  --el-select-input-font-size: 14px;
}
.el-date-editor {
  --el-date-editor-width: 220px;
  --el-date-editor-monthrange-width: 300px;
  --el-date-editor-daterange-width: 350px;
  --el-date-editor-datetimerange-width: 400px;
  --el-input-text-color: var(--el-text-color-regular);
  --el-input-border: var(--el-border);
  --el-input-hover-border: var(--el-border-color-hover);
  --el-input-focus-border: var(--el-color-primary);
  --el-input-transparent-border: 0 0 0 1px transparent inset;
  --el-input-border-color: var(--el-border-color);
  --el-input-border-radius: var(--el-border-radius-base);
  --el-input-bg-color: var(--el-fill-color-blank);
  --el-input-icon-color: var(--el-text-color-placeholder);
  --el-input-placeholder-color: var(--el-text-color-placeholder);
  --el-input-hover-border-color: #0da7eb;
  --el-input-clear-hover-color: var(--el-text-color-secondary);
  --el-input-focus-border-color: #0da7eb;
  position: relative;
  display: inline-block;
  text-align: left;
}
.el-table__body-wrapper {
  overflow: hidden;
  position: relative;
  flex: 1;
}
.el-table__body {
  min-height: 300px;
}
.el-sub-menu .el-menu-item {
  padding-left: 60px;
}
body *::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

body *::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 2px;
}

body *::-webkit-scrollbar-thumb {
  background: rgb(205, 206, 206);

  border-radius: 10px;
}

body *::-webkit-scrollbar-thumb:hover {
  background: #333;
}

body *::-webkit-scrollbar-corner {
  background: #fff;
}
.el-table {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  max-width: 100%;
  background-color: var(--el-table-bg-color);
  font-size: 14px;
  color: var(--el-table-text-color);
}
.table-box .el-table,
.table-main .el-table .el-dialog .el-dialog__header {
  overflow: auto;
}
.el-dialog__body {
  min-height: 300px;
}
.el-main {
  box-sizing: border-box;
  padding: 10px 12px;
  overflow-x: hidden;
  background-color: var(--el-bg-color-page);
}

.el-footer {
  height: auto;
  padding: 0;
}
.el-checkbox__input.is-checked + .el-checkbox__label,
.el-radio__input.is-checked + .el-radio__label {
  color: #0da7eb;
}
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-radio__input.is-checked .el-radio__inner {
  border-color: #0da7eb;
  background: #0da7eb;
}
.sle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}